auto.setWindowFilter(function (window) {
    return true; // 此处可以根据实际情况调整窗口过滤逻辑
});

let r = text("聊天").findOnce()



clickElement(r, { type: 'function' })





























/**
 * 在指定元素的边界内随机点击，并等待一段时间。
 * @param {Object} element - 要点击的元素。
 * @param {object} options - 参数对象，包括：
 *  - delayTime: 查找元素超时时间，默认10000毫秒。
 *  - type: 'function'表示已经查找好的元素，'text'表示需要查找的元素，默认为'text'。
 *  - safe: 是否避免点击接近设备底部的区域，默认为false。
 *  - clickFrontSleep: 点击前延时，默认200毫秒。
 *  - clickSleep: 点击后延时，默认500毫秒。
 *  - alarm: 如果找不到元素是否报警，默认为true。
 *  - minDistance :安全距离 默认为 1
 * @returns {boolean} 如果成功执行点击操作，则返回true；否则返回false。
 */
function clickElement(element, options) {
    // 检查元素是否存在
    if (!element) {
        return false;
    }
    options = options || {};

    let delayTime = options.delayTime || 10000;
    let type = options.type || 'text';
    let safe = options.safe || false;
    let clickFrontSleep = options.clickFrontSleep || 200;
    let clickSleep = options.clickSleep || 500;
    let alarm = options.alarm !== undefined ? options.alarm : true;
    let bottomSafeHeight = options.bottomSafeHeight || 200;
    let minDistance = options.minDistance || 1
    let elementName = '';
    let foundElement = type === "function" ? element : element.findOne(delayTime);
    if (!foundElement) {
        if (alarm) {
            console.error("未找到元素或元素不可点击", element);
        }
        return false;
    }

    if (foundElement.desc()) {
        elementName = foundElement.desc()
    } else {
        if (foundElement.text()) {
            elementName = foundElement.text()
        }
    }
    // 点击前延时
    sleep(clickFrontSleep);
    // 获取元素边界
    let rect = foundElement.bounds();
    let centerX = rect.centerX();
    let centerY = rect.centerY();

    // 安全区域检查
    if (safe && centerY > device.height - bottomSafeHeight) {
        log("点击位置接近设备底部，已取消操作");
        return false;
    }

    // 执行点击操作
    click(centerX, centerY);
    log("——>", elementName);
    // 点击后延时
    sleep(clickSleep);
    return true;
}